package bszt.pdd;

import java.util.Scanner;

public class Code01 {

    /**
     * 问题描述
     * K小姐最喜欢到多哆村的金哆炸鸡店吃汉堡，每个汉堡原价10元。为了回馈老顾客，炸鸡店开展了拼团活动：每找到一个朋友一起购买，就可以减少1元，但价格最低只能降到5元（否则就要亏本啦）
     * 现在K小姐手上有N元钱，同时有M个朋友也想吃汉堡。K小姐想知道自己最多能买多少个汉堡，以及在买最多汉堡的情况下最少要花多少钱
     * <p></p>
     * 输入格式
     * 第一行包含一个正整数T，表示测试用例的数量。
     * <p></p>
     * 接下来T行，每行包含两个正整数N和M，分别表示K小姐的钱数以及一起购买汉堡的朋友数量
     * <p></p>
     * 输出格式
     * 对于每组测试用例，输出一行，包含两个整数，分别表示K小姐能购买的最多汉堡数量，以及购买最多汉堡时最少需要花的钱数
     */


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        while (t-- > 0) {
            int n = sc.nextInt();
            int m = sc.nextInt();
            solve(n, m);
        }
    }

    private static void solve(int n, int m) {
        int t = m / 5;  // 5元汉堡个数
        m %= 5;

        if (t * 5 > n) {
            System.out.println((n / 5) + " " + ((n / 5) * 5));
        } else {
            n -= t * 5;
            if (n >= 10 - m) {
                n -= (10 - m);
                System.out.println((t + 1 + (n / 10)) + " " + (t * 5 + 10 - m + (n / 10) * 10));
            } else {
                System.out.println(t + " " + (t * 5));
            }
        }
    }
}
